%generadorDePatrones
function [patrones] = generadorDePatrones(cantPat, cantEntr, vtrue, vfalse)

cantCasos = 2^cantEntr;
if(cantPat>cantCasos)
    cantPat = cantCasos;
end
repetir = 1;

posibilidades = zeros(cantCasos, cantEntr+1);

for i= 1:1:cantEntr
	for j=1:(repetir*2):cantCasos
		for k=1:1:repetir
			posibilidades(j+k-1,i)=vtrue; 
		end
		for k=(1+repetir):1:(repetir*2)
			posibilidades(j+k-1,i)=vfalse;
		end
	end
	repetir = repetir*2;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%POR SER AND LA FUNCION QUE DESEA ESTAS POSIBILIDADES, PONGO 1 en el 1ero y -1 en los otros
%for i = 1:1:cantCasos
%	posibilidades(i, cantEntr+1)=vfalse;
%end
%posibilidades(1, cantEntr+1) = vtrue;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%PARIDAD
for i = 1:1:cantCasos
    aux=0;
    for j=1:1:cantEntr
        aux = aux + (posibilidades(i,j)==vtrue);
    end
    if mod(aux,2)
        posibilidades(i,cantEntr+1)=vfalse;
    else
        posibilidades(i,cantEntr+1)=vtrue;
    end 
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%patrones = zeros(cantPat,cantEntr+1); 
%filasAElegir = randperm(cantCasos);
%for i = 1:1:cantPat
%	patrones(i,:) = posibilidades(filasAElegir(i),:);
%end

patrones = posibilidades;